package manager.server.factory{
	import flash.utils.ByteArray;
	/**
	 *	发送消息的指令
	 *	该方法中主要包括有发收件人的姓名
	 *	还有交互的消息内容
	 **/
	public class SendCommand extends SocketCommandBase implements ISocketCommand {
		private var _sendName:String;    //发送方姓名
		private var _receieveName:String;//接收方姓名
		private var _msg:String;		 // 发送的文字消息

		/**
		 * 发送消息指令构造方法 
		 * @param type
		 * @param sendName
		 * 
		 */		
		public function SendCommand(type:int = 0, sendName:String = ''){
			super.type = type;
			_sendName = sendName;
			write();
		}

		/**
		 *	实现数据写入,转为bytes数据--byteArray
		 *  基类先写入type值
		 */
		override public function write():void {
			super.write();
			byteArray.writeUTF(_sendName);
		}

		/**
		 * 按类型，接收到数据并进行解码操作
		 * @param byteArray 
		 * @return ISocketCommand
		 */
		override public function decodeSocketData(byteArray:ByteArray):ISocketCommand {
			super.decodeSocketData(byteArray); //_type = byteArray.readShort();
			_sendName = byteArray.readUTF();
			
			return this;
		}
		
		public function get sendName():String {
			return _sendName;
		}
		
		public function set sendName(value:String):void {
			_sendName = value;
		}
	}
}